import axios from "axios";
import { message } from "antd";
import { baseURL } from "./config";

console.log('@@@@ baseURL', baseURL);

// 设置基础URL
axios.defaults.baseURL = baseURL;

// 创建一个 Axios 实例
const instance = axios.create({
  // 可以在这里设置默认的 headers、超时时间等
  timeout: 10000,
});

// 请求拦截器，可以用来添加token等操作
instance.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么，比如添加认证信息
    // config.headers.Authorization = `Bearer ${yourToken}`;
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    return error;
  }
);

// 响应拦截器，统一处理错误
instance.interceptors.response.use(
  async (response) => {
    // 非200的错误处理
    if (response?.data?.code !== "200") {
      message.error(response?.data?.msg);
      return response.data;
    }

    return response?.data?.result || null;
  },
  (error) => {
    // 处理错误响应，比如弹出错误提示、跳转登录页等
    const msg = error.response ? error.response.data : error.message;
    console.error("Axios error:", error);
    message.error(msg);
    return error;
  }
);

// 封装 GET 请求
export const get = (url, params) => instance.get(url, { params });

// 封装 POST 请求
export const post = (url, data, config) => instance.post(url, data, config);
